/**
 * 定义接口来定义对象的类型
 * `stores` 全部类型定义在这里
 */

// 用户信息
export interface UserInfosState {
	authBtnList: string[];
	photo: string;
	roles: string[];
	time: number;
	userName: string;
	id: string;
}

// 用户信息, websocket版
export interface WebsocketUserState {
	uid: string;
	nickname: string;
	sex: string;
	signature: string;
	avatar: string;
}
export interface UserInfosStates {
	userInfos: UserInfosState;
	websocketInfos: WebsocketUserState
}

// 路由缓存列表
export interface KeepAliveNamesState {
	keepAliveNames: string[];
	cachedViews: string[];
}

// 后端返回原始路由(未处理时)
export interface RequestOldRoutesState {
	requestOldRoutes: string[];
}

// TagsView 路由列表
export interface TagsViewRoutesState {
	tagsViewRoutes: string[];
	isTagsViewCurrenFull: Boolean;
}

// 路由列表
export interface RoutesListState {
	routesList: string[];
	isColumnsMenuHover: Boolean;
	isColumnsNavHover: Boolean;
}

// 布局配置
export interface ThemeConfigState {
	isDrawer: boolean;
	primary: string;
	topBar: string;
	topBarColor: string;
	isTopBarColorGradual: boolean;
	menuBar: string;
	menuBarColor: string;
	isMenuBarColorGradual: boolean;
	columnsMenuBar: string;
	columnsMenuBarColor: string;
	isColumnsMenuBarColorGradual: boolean;
	isCollapse: boolean;
	isUniqueOpened: boolean;
	isFixedHeader: boolean;
	isFixedHeaderChange: boolean;
	isClassicSplitMenu: boolean;
	isLockScreen: boolean;
	lockScreenTime: number;
	isShowLogo: boolean;
	isShowLogoChange: boolean;
	isBreadcrumb: boolean;
	isTagsview: boolean;
	isBreadcrumbIcon: boolean;
	isTagsviewIcon: boolean;
	isCacheTagsView: boolean;
	isSortableTagsView: boolean;
	isShareTagsView: boolean;
	isFooter: boolean;
	isGrayscale: boolean;
	isInvert: boolean;
	isIsDark: boolean;
	isWartermark: boolean;
	wartermarkText: string;
	tagsStyle: string;
	animation: string;
	columnsAsideStyle: string;
	columnsAsideLayout: string;
	layout: string;
	isRequestRoutes: boolean;
	globalTitle: string;
	globalViceTitle: string;
	globalI18n: string;
	globalComponentSize: string;
}
export interface ThemeConfigStates {
	themeConfig: ThemeConfigState;
}

// 订单状态
export interface OrderConfigStates {
	status: any[];
	sourceType: any[];
	deliveryType: any[];
	deliveryStatus: any[];
	billType: any[];
	payStatus: any[];
	payType: any[];
	storageType: any[];
	approveState: any[];
	returnType: any[];
	classOther: any[];
}

export interface SaleConfigStates {
	agentLevel: any[];

}

export interface DialogueInfoStates {
	talk_type: number | string;
	receiver_id: number | string;
	is_robot: number | string;
	records: any[];
	index_name: string | number | null;
}

export interface ChatTalk {
	loadStatus: number | string,
	items: any[],
	unreadMessage: any
}

export interface ChatNotify {
	applyNum: number,
	inputEvent: number
}

export interface Socket {
	socketStatus: any,
	loginStatus: boolean
}

export interface Event {
	eventData:object[]
}

// 我在这里修饰一下事项

export interface EventSy {
	LABELVALUE:number|string,
	TITLEVALUE:number|string,


}

// 定义一个接口返回值

export  interface EventBody{
	code:number,
	data:object[],
	message:string
}
// 定义item所接收的值

export  interface EventItem{
	label:string,
	value:string,
}

// 表单设置
export interface formList{
	table: any[];
}

// 日历设置
export interface CalendarConfigState{
	view: string
}


export interface CalendarConfigStates{
	calendarConfig: CalendarConfigState,
	eventForm: object
}
// 文件夹路径
export interface FolderConfigStates{
	path: any[];
}

// 播放视屏数据
export interface PlayerConfigStates{
	PlayerStates:object
}

// 工作流设置
export interface WorkFlowConfigStates{
	nodeMap: Object,
    selectedNode: Object,
    selectFormItem: Object|null,
    design: Object,
	formItemMap: Object
}
//协同文档文件数据
export interface cooperateConfigStates{
	owner:string,
	title:string,
	fileLogId:string,
	compileFileName:string,
	fileVisitSite:string,
	uploadTime:string,
	previewMode:boolean,
	touristMode:boolean
}
